home *** CD-ROM | disk | FTP | other *** search
- /* $Id: I3DEXIO.H 1.5 1996/08/14 17:03:01 GREG Exp $ */
- /*****************************************************************************\
- * *
- * I3DExIO.h *
- * I3DExImportFilter definition *
- * I3DExExportFilter definition *
- * *
- * Copyright (c) 1995, Ray Dream, Inc. All rights reserved. *
- * *
- \*****************************************************************************/
-
- #ifndef __I3DEXIO__
- #define __I3DEXIO__
-
- #ifndef __I3DEX__
- #include "I3DEx.h"
- #endif
-
- #ifndef __I3DSHSCN__
- #include "I3DShScn.h"
- #endif
-
- struct IShRasterOffscreen;
-
-
- //****** Globally Unique Ids *************************************************
-
- DEFINE_GUID(IID_I3DExImportFilter, 0xA58E2440L, 0x3A02, 0x101C, 0x88, 0x5F, 0x04, 0x02, 0x1C, 0x00, 0x70, 0x02);
- DEFINE_GUID(IID_I3DExExportFilter, 0xA75AF500L, 0x3A02, 0x101C, 0x88, 0x5F, 0x04, 0x02, 0x1C, 0x00, 0x70, 0x02);
-
- /*****************************************************************************\
- * I3DExImportFilter *
- * *
- * 3D Importer *
- * *
- \*****************************************************************************/
-
- #undef INTERFACE
- #define INTERFACE I3DExImportFilter
-
- DECLARE_INTERFACE_(I3DExImportFilter, I3DExDataExchanger) {
- // IUnknown methods
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
- STDMETHOD_(ULONG, AddRef) (THIS) PURE;
- STDMETHOD_(ULONG, Release) (THIS) PURE;
-
- // I3DExtension methods
- STDMETHOD_(I3DExtension*, Clone) (THIS) PURE;
- STDMETHOD(ShellUtilitiesInit) (THIS_ IShUtilities* shellUtilities) PURE;
-
- // I3DExDataExchanger methods
- STDMETHOD_(ExtensionDataMap*, GetExtensionDataMap) (THIS) PURE;
- STDMETHOD_(void*, GetExtensionDataBuffer) (THIS) PURE;
- STDMETHOD(ExtensionDataChanged) (THIS) PURE;
- STDMETHOD(HandleEvent) (THIS_ ULONG sourceID) PURE;
- STDMETHOD_(short, GetResID) (THIS) PURE;
-
- // I3DExImportFilter methods
- STDMETHOD_(BOOLEAN, Prepare) (THIS_ char* fullPathName, I3DShScene* scene, I3DShTreeElement* fatherTree) PURE;
- STDMETHOD_(BOOLEAN, WantsOptionDialog) (THIS) PURE;
- STDMETHOD(DoImport) (THIS_ char* fullPathName, I3DShScene* scene, I3DShTreeElement* fatherTree) PURE;
- STDMETHOD_(BOOLEAN, WantsTopScene) (THIS) PURE;
- };
-
-
- /*****************************************************************************\
- * I3DExExportFilter *
- * *
- * 3D Exporter *
- * *
- \*****************************************************************************/
-
- #undef INTERFACE
- #define INTERFACE I3DExExportFilter
-
- DECLARE_INTERFACE_(I3DExExportFilter, I3DExDataExchanger) {
- // IUnknown methods
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
- STDMETHOD_(ULONG, AddRef) (THIS) PURE;
- STDMETHOD_(ULONG, Release) (THIS) PURE;
-
- // I3DExtension methods
- STDMETHOD_(I3DExtension*, Clone) (THIS) PURE;
- STDMETHOD(ShellUtilitiesInit) (THIS_ IShUtilities* shellUtilities) PURE;
-
- // I3DExDataExchanger methods
- STDMETHOD_(ExtensionDataMap*, GetExtensionDataMap) (THIS) PURE;
- STDMETHOD_(void*, GetExtensionDataBuffer) (THIS) PURE;
- STDMETHOD(ExtensionDataChanged) (THIS) PURE;
- STDMETHOD(HandleEvent) (THIS_ ULONG sourceID) PURE;
- STDMETHOD_(short, GetResID) (THIS) PURE;
-
- // I3DExExportFilter methods
- STDMETHOD_(BOOLEAN, Prepare) (THIS_ I3DShScene* scene, I3DShTreeElement* fatherTree) PURE;
- STDMETHOD_(BOOLEAN, WantsOptionDialog) (THIS) PURE;
- STDMETHOD(NeededDiskSpace) (THIS_ char* fullPathName, I3DShScene* scene, I3DShTreeElement* fatherTree, ULONG* diskSpace) PURE;
- STDMETHOD(DoExport) (THIS_ char* fullPathName, I3DShScene* scene, I3DShTreeElement* fatherTree) PURE;
- //-- Preview calls
- STDMETHOD_(BOOLEAN, WantsPreview) (THIS) PURE;
- STDMETHOD(GetPreviewSize) (THIS_ short* sizeh, short* sizev) PURE;
- STDMETHOD(SetPreview) (THIS_ IShRasterOffscreen* preview) PURE;
- };
-
-
- #endif
-